He estado trabajando para mejorar mi sistema de tickets y me encontré con ese problema: 
mi código es:
await button.clicker.fetch(); if (!button.clicker.member.roles.cache.has("859507507596230736")) return button.reply.send("Only staff can close the ticket.", true) var embed = new Discord.MessageEmbed() .setTitle("Are you sure?") .setDescription("Are you sure you want to close this ticket?\nThis action cannot be undone.") .setFooter(button.guild.name) .setColor("RED") var bu1tton = new MessageButton() .setStyle(`red`) .setEmoji(`🔒`) .setLabel(`Proceed anyway`) .setID("sure") button.reply.send({ component: bu1tton, embed: embed }, true) } Después de cambiar button.reply.send({ component: bu1tton, embed: embed }, true) a button.channel.send({ component: bu1tton, embed: embed }) funcionó perfectamente, aunque todos podían verlo.
Entiendo que el problema es , true pero no entiendo por qué. Gracias por adelantado.
Tienes que usar ephemeral: true en lugar de }, true)
Aquí está el código:
button.reply.send({ component: bu1tton, embed: embed, ephemeral: true})